'''
* This is the projet for Brtc LlmOps Platform
* @Author Leon-liao <liaosiliang@alltman.com>
* @Description //TODO 
* @File: study_list.py
* @Time: 2025/6/22
* @All Rights Reserve By Brtc
'''
#列表的学习
# 定义一个空列表  list = []
emmpty_list = []
print(f"type of emmpty_list {type(emmpty_list)}")

emmpty_list = ["马云","马化腾", "廖老师"]
print(emmpty_list)
# 列表的访问, 下标 访问 0 开始 不是 1 开始
print(f"value: {emmpty_list[0]}")
print(f"value: {emmpty_list[1]}")
print(f"value: {emmpty_list[2]}")
# 异常访问
#print(f"value: {emmpty_list[3]}")
#增加一个数据
emmpty_list.append("许家印")
print(emmpty_list)

# 截取 列表子列格式就是[最开始索引:结束索引(不包含)：步长]
print(emmpty_list[0:3:2])# 0 2 4
print(emmpty_list[1:4:2])# 1 3 5

# 列表的反转
emmpty_list.reverse()
print(emmpty_list)


# 二维列表
two_list = [
    [1,2,3],
    [4,5,6],
    [7,8,9]
]
print(two_list)
print(two_list[0])
print(two_list[1])
print(two_list[2])

# 列表的长度
print(len(two_list))

# 求 最小值
test_val = [99,43,56,7,898,4,-3,-5,678,2545,7, -1]
print(f"最小值:{min(test_val)}")

# 求最大值
print(f"最大值:{max(test_val)}")

#删除 列表里面的元素,格式就是   del list[要删除的元素下标]
del test_val[0]
print(test_val)

# 修改数据
test_val[0] = 88
print(test_val)

#判断列表里面是否有某个元素
print(88 in test_val)
print(77 in test_val)


# 通过  insert 去插入元素
test_val.insert(5, 55555)
print(test_val)

## 通过元素的值去  查找索引
print(test_val.index(55555))
test2_dic = [1,2,4,4,4,4,333,333,5,5,5]
print(test2_dic.index(4))# 如果有有多个元素是一样， 那么计算索引就会 返回最近的哪一个


## 将列表里面的值进行升序 排列
test_val.sort()
print(test_val)
#降序排列 怎么来？
test_val.reverse()
print(test_val)

test3_dic = [1,1,1,2,3,4,5,6,6,6,6,6,7,7,7,7,8,8,10,10,10,11,15,35,78,4,4,4,4,]
print(test3_dic.index(7))
print(test3_dic[12])